//
// C++ Interface: dumpmon
//
// Description: Simple dumping monitor.
//
//
// Author: Andrey Sharoyko <vanyamboe@gmail.com>, (C) 2011
//
// Copyright: See COPYING file that comes with this distribution
//
//
#if !defined(__DUMPMON_H_INCLUDED__)
#define __DUMPMON_H_INCLUDED__

#define DUMPMON_VERSION "0.9"

#include "ucdefs.h"
#include "dumpdebug.h"

typedef enum {
  RAM, FLASH, ROM, TIMER, ERROR, REGS, IRQS, WATCHES, RAMAVAIL, IDLE
} state_t;

typedef DUMP_ADDR_TYPE dump_addr_t;

void dumpmonSetup(unsigned int serialSpd, DebugState state = STEP_MODE);
void dumpmonLoop();

void dispatchStateWait(char cmd);
void displayUsage();
void prepareAddress(unsigned char len);
bool enterAddr(char cb);

#endif // __DUMPMON_H_INCLUDED__
